package com.gopay.common.cps.dao.gsrt;

import java.io.Serializable;
import java.util.List;

import com.gopay.common.base.dao.BaseDAO;
import com.gopay.common.domain.gsrt.GsrtCustSigned;

/**
 * 
 * @Description: 签约
 * @author hougn
 * @date 2016年2月25日 下午4:52:22 
 *
 */
public interface GsrtCustSignedDao extends BaseDAO<GsrtCustSigned, Serializable> {
    
    /**
     * 获取下一个序列
     * @return
     */
    public long getNextVal();
    
    /**
     * 根据用户id和商户id查询签约信息
     * @param custId
     * @param merCustId
     * @return
     */
    public GsrtCustSigned findByCustIdAndMerCustId(String custId, String merCustId);
    
    /**
     * 根据商户id和签约协议号查询签约信息
     * @param merCustId
     * @param constracterId
     * @return
     */
    public GsrtCustSigned findByMerCustIdAndConstracterId(String merCustId, String constracterId);

	public void updateGsrtCustSigned(GsrtCustSigned en);

	/**
	 * 根据订单号查询签约
	 * @param gopayOrderId
	 * @return
	 */
    GsrtCustSigned findByGopayOrderId(String gopayOrderId);

    /**
     * 根据商户id和客户id查询
     * @param merCustId
     * @param p2pCustId
     * @return
     */
    public List<GsrtCustSigned> findByMerAndP2PCustId(String merCustId, String p2pCustId);

    /**
     * 根据用户id和商户id查询是否签约失败
     * @param custId
     * @param merCustId
     * @return
     */
    boolean findFailByCustIdAndMerCustId(String custId, String merCustId);

    /**
     * 获取国付宝订单号
     * @return
     */
    String getGopayOrderId();

    /**
     * 根据网关流水号查询签约
     * @param transDtlSq
     * @return
     */
    GsrtCustSigned findByTransDtlSq(Long transDtlSq);
    
    
     GsrtCustSigned findByMerOrderId(String merOrderId) ;

}
